﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Configuration;

namespace NK_Atualiza_Duration.Util
{
    public static class Config
    {
        public static string RetornarValorAppSettings( string chave)
        {
            string caminhoArquivo = "";
            try
            {
                if (ConfigurationManager.AppSettings["ConfigComum"].Trim().Equals(""))
                {
                    return ConfigurationManager.AppSettings[chave];
                }
                else 
                {
                    caminhoArquivo = ConfigurationManager.AppSettings["ConfigComum"];

                    XmlDocument xmlDOM = new XmlDocument();

                    XmlNode node;

                    string retorno;

                    xmlDOM.Load(@caminhoArquivo);
                    node = xmlDOM.SelectSingleNode("//appSettings/add[@key='" + chave + "']");

                    if (node != null)
                        retorno = node.Attributes["value"].Value;
                    else
                        throw new XmlException("Chave " + chave + " não encontrada.");

                    return retorno;               
                
                }
               
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static string RetornarValorConnectionStrings(string caminhoArquivo, string chave)
        {
            try
            {
                if (ConfigurationManager.AppSettings["ConfigComum"].Trim().Equals(""))
                {
                    return ConfigurationManager.ConnectionStrings[chave].ConnectionString;
                }
                else
                {
                    XmlDocument xmlDOM = new XmlDocument();
                    XmlNode node;
                    string retorno;

                    xmlDOM.Load(@caminhoArquivo);
                    node = xmlDOM.SelectSingleNode("//connectionStrings/add[@name='" + chave + "']");

                    if (node != null)
                        retorno = node.Attributes["value"].Value;
                    else
                        throw new XmlException("Chave " + chave + " não encontrada.");

                    return retorno;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

    }
}
